home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
oper_sys
/
emerald
/
emrldsys.lha
/
Language
/
Compiler
/
sequence.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-08-16
|
974b
|
40 lines
/*
* @(#)sequence.h 1.3 7/9/87
*/
#ifndef sequence_h
#define sequence_h
#ifndef nodes_h
#include "nodes.h"
#endif
#define Sequence_For(R,S) \
{ \
register int z__z; \
if ((S) != NULL) \
for (z__z = (S)->firstChild; z__z < (S)->nChildren; z__z++) {\
(R) = (S)->b.children[z__z];
#define Sequence_Next\
}\
}
#define Sequence_ReverseFor(R,S) \
{ \
register int z__z; \
int z__y; \
if ((S) != NULL) \
for (z__z = (S)->nChildren - 1; z__z >= (z__y = (S)->firstChild); z__z--) {\
(R) = (S)->b.children[z__z];
NodePtr Sequence_Add(/* s, n */);
/* NodePtr *s, n; */
NodePtr Sequence_AddFirst(/* s, n */);
/* NodePtr *s, n; */
#define Sequence_Length(s) (((s) == NULL) ? 0 : (int)((s)->nChildren - (s)->firstChild))
#define isASequence(s) ((s) == NULL ? 1 : (s)->tag == T_SEQUENCE)
void Sequence_RemoveSeparators(/* s */);
/* NodePtr s; */
NodePtr Sequence_Construct(/* n, first */);
/* int n; NodePtr first; */
void Sequence_Free();
#endif